摘要 :
For complex and popular software, project teams could receive a large number of bug reports. It is often tedious and costly to manually assign these bug reports to developers who have the expertise to fix the bugs. Many bug triage...
展开
For complex and popular software, project teams could receive a large number of bug reports. It is often tedious and costly to manually assign these bug reports to developers who have the expertise to fix the bugs. Many bug triage techniques have been proposed to automate this process. In this paper, we describe our study on applying conventional bug triage techniques to projects of different sizes. We find that the effectiveness of a bug triage technique largely depends on the size of a project team (measured in terms of the number of developers). The conventional bug triage methods become less effective when the number of developers increases. To further improve the effectiveness of bug triage for large projects, we propose a novel recommendation method called Bug Fixer, which recommends developers for a new bug report based on historical bug-fix information. Bug Fixer constructs a Developer-Component-Bug (DCB) network, which models the relationship between developers and source code components, as well as the relationship between the components and their associated bugs. A DCB network captures the knowledge of "who fixed what, where". For a new bug report, Bug Fixer uses a DCB network to recommend to triager a list of suitable developers who could fix this bug. We evaluate Bug Fixer on three large-scale open source projects and two smaller industrial projects. The experimental results show that the proposed method outperforms the existing methods for large projects and achieves comparable performance for small projects.
收起
摘要 :
For complex and popular software, project teams could receive a large number of bug reports. It is often tedious and costly to manually assign these bug reports to developers who have the expertise to fix the bugs. Many bug triage...
展开
For complex and popular software, project teams could receive a large number of bug reports. It is often tedious and costly to manually assign these bug reports to developers who have the expertise to fix the bugs. Many bug triage techniques have been proposed to automate this process. In this paper, we describe our study on applying conventional bug triage techniques to projects of different sizes. We find that the effectiveness of a bug triage technique largely depends on the size of a project team (measured in terms of the number of developers). The conventional bug triage methods become less effective when the number of developers increases. To further improve the effectiveness of bug triage for large projects, we propose a novel recommendation method called Bug Fixer, which recommends developers for a new bug report based on historical bug-fix information. Bug Fixer constructs a Developer-Component-Bug (DCB) network, which models the relationship between developers and source code components, as well as the relationship between the components and their associated bugs. A DCB network captures the knowledge of "who fixed what, where". For a new bug report, Bug Fixer uses a DCB network to recommend to triager a list of suitable developers who could fix this bug. We evaluate Bug Fixer on three large-scale open source projects and two smaller industrial projects. The experimental results show that the proposed method outperforms the existing methods for large projects and achieves comparable performance for small projects.
收起
摘要 :
Most programs with command-line interface (CLI) have dozens of command-line options (e.g., -l, -F, -R for ls) to alternate the operation of the programs. Thus, depending on the option configurations (i.e., a list of options like -...
展开
Most programs with command-line interface (CLI) have dozens of command-line options (e.g., -l, -F, -R for ls) to alternate the operation of the programs. Thus, depending on the option configurations (i.e., a list of options like -l -F and -F -R) applied during fuzzing, the test coverage and crash detection results can vary significantly. In this paper, we propose a novel fuzzing technique POWER that detects more crashes than the cutting-edge fuzzers by actively constructing and carefully selecting various program option configurations. The salient idea of POWER is to enforce diverse executions of a target program by selecting a set of the option configurations each of which is far “different/distant” from the others in the set. Another core idea of POWER is to apply different fuzzing strategies to different input domains (i.e., option configurations and input files) to increase testing effectiveness within limited time budget. The experiment results on the 30 real-world programs show that POWER detects significantly more crash bugs than the state-of-the-art fuzzing techniques.
收起
摘要 :
To solve the problems of low vulnerability triggering rate and low-test efficiency in fuzzy testing of existing industrial control network protocols, a test case generation method based on CoGAN was proposed. The method study norm...
展开
To solve the problems of low vulnerability triggering rate and low-test efficiency in fuzzy testing of existing industrial control network protocols, a test case generation method based on CoGAN was proposed. The method study normal industrial control network protocol format and grammar, learning anomaly and vulnerability information at the same time, the reuse of trained generator is meet the requirements of the network protocol format and with abnormal or vulnerability information characteristics of test cases, so as to reduce the test cost, improve test efficiency and increase the purpose of the vulnerability trigger rate. Experimental results show that the proposed test case generation method has significant optimization effect and vulnerability detection ability to improve protocol fuzzy testing performance, and finds a "zero-day vulnerability".
收起
摘要 :
To solve the problems of low vulnerability triggering rate and low-test efficiency in fuzzy testing of existing industrial control network protocols, a test case generation method based on CoGAN was proposed. The method study norm...
展开
To solve the problems of low vulnerability triggering rate and low-test efficiency in fuzzy testing of existing industrial control network protocols, a test case generation method based on CoGAN was proposed. The method study normal industrial control network protocol format and grammar, learning anomaly and vulnerability information at the same time, the reuse of trained generator is meet the requirements of the network protocol format and with abnormal or vulnerability information characteristics of test cases, so as to reduce the test cost, improve test efficiency and increase the purpose of the vulnerability trigger rate. Experimental results show that the proposed test case generation method has significant optimization effect and vulnerability detection ability to improve protocol fuzzy testing performance, and finds a "zero-day vulnerability".
收起
摘要 :
High-Speed Serial IO interfaces supporting data rates of several tens and hundreds of giga bits per second are ubiquitous in today's server and client platforms for chip-to-chip and board-to-board communications. Careful system le...
展开
High-Speed Serial IO interfaces supporting data rates of several tens and hundreds of giga bits per second are ubiquitous in today's server and client platforms for chip-to-chip and board-to-board communications. Careful system level validation of these interfaces is critical for high quality product releases and is challenging in the constraints of tight validation cycles. This paper presents a post-silicon validation methodology applicable to such interfaces that is proven to be efficient in detecting bugs, both at the silicon and system level, enabling high-quality product releases on time.
收起
摘要 :
Markov Decision Process (MDP) simulators and optimization algorithms integrate several systems and functions that are collectively subject to failures of specification, implementation, integration, and optimization. We present a d...
展开
Markov Decision Process (MDP) simulators and optimization algorithms integrate several systems and functions that are collectively subject to failures of specification, implementation, integration, and optimization. We present a domain agnostic visual analytic design and implementation for testing and debugging MDPs: MDPVIS.
收起
摘要 :
Markov Decision Process (MDP) simulators and optimization algorithms integrate several systems and functions that are collectively subject to failures of specification, implementation, integration, and optimization. We present a d...
展开
Markov Decision Process (MDP) simulators and optimization algorithms integrate several systems and functions that are collectively subject to failures of specification, implementation, integration, and optimization. We present a domain agnostic visual analytic design and implementation for testing and debugging MDPs: MDPVIS.
收起
摘要 :
Open source software is becoming increasingly important in cloud computing. However, many cloud computing systems suffer from software bugs that cause significant dependability issues. Bug assignment and fixing are crucial parts o...
展开
Open source software is becoming increasingly important in cloud computing. However, many cloud computing systems suffer from software bugs that cause significant dependability issues. Bug assignment and fixing are crucial parts of software maintenance to improve dependability. In this paper, we conduct an empirical study of 42,880 bug reports from OpenStack bug repository. We study the characteristics (e.g., distribution of bugs, distribution of assignees) of bug assignments in OpenStack and find the bug assignment pattern which we call as long tail. The findings can support the follow-up research on improving efficiency of bug assignment, that is, we propose a prediction method based on long tail model, and experimentally evaluate this method by applying it to OpenStack bug assignment.
收起
摘要 :
Open source software is becoming increasingly important in cloud computing. However, many cloud computing systems suffer from software bugs that cause significant dependability issues. Bug assignment and fixing are crucial parts o...
展开
Open source software is becoming increasingly important in cloud computing. However, many cloud computing systems suffer from software bugs that cause significant dependability issues. Bug assignment and fixing are crucial parts of software maintenance to improve dependability. In this paper, we conduct an empirical study of 42,880 bug reports from OpenStack bug repository. We study the characteristics (e.g., distribution of bugs, distribution of assignees) of bug assignments in OpenStack and find the bug assignment pattern which we call as long tail. The findings can support the follow-up research on improving efficiency of bug assignment, that is, we propose a prediction method based on long tail model, and experimentally evaluate this method by applying it to OpenStack bug assignment.
收起